export default {
	// 开启命名空间
	namespaced:true,
	
	
	// 数据
	state:() => ({
		// 用户选择的地址
		address:JSON.parse(uni.getStorageSync('address')||'{}'),
		// 登录成功后的token字符串
		token:uni.getStorageSync('token')||'',
		// 用户基本信息
		userinfo:JSON.parse(uni.getStorageSync('userinfo')||'{}'),
		// 重定向的Object
		redirectInfo:null
	}),
	
	
	// 方法
	mutations:{
		// 更新收货地址
		updateAddress(state,address) {
			// 向state中存储接收的address
			state.address = address
			// 调用方法，本地化存储收货地址
			this.commit('m_user/saveAddressToStorage')
		},
		// 本地存储收货地址
		saveAddressToStorage(state) {
			uni.setStorageSync('address',JSON.stringify(state.address))
		},
		// 更新用户基本信息
		updateUserInfo(state,userinfo) {
			state.userinfo = userinfo
			// 本地存储用户信息
			this.commit('m_user/saveUserInfoToStorage')
		},
		// 本地存储用户基本信息
		saveUserInfoToStorage(state) {
			uni.setStorageSync('userinfo',JSON.stringify(state.userinfo))
		},
		// 更新token字符串
		updateToken(state,token) {
			state.token = token
			// 调用this.commit()方法，本地化存储token
			this.commit('m_user/saveTokenToStorage')
		},
		// 本地存储token
		saveTokenToStorage(state) {
			uni.setStorageSync('token',state.token)
		},
		// 更新重定向的Object
		updateRedirectInfo(state,info) {
			state.redirectInfo = info
		}
	},
	
	// 数据包装器
	getters:{
		// 拼接详细地址
		addstr(state) {
			if(!state.address.provinceName) return ''
			return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
		},
	}
}